package fr.miage.ressource;

import fr.miage.ressource.Humain;
import fr.miage.ressource.Materielle;
import fr.miage.ressource.Projet;
import fr.miage.ressource.Temporelle;
import java.util.ArrayList;
import java.util.Collection;


public class Ressource {

		private Integer idRessource;
		private Collection<Projet> listProjet;
		private Humain humain;
		private Temporelle temporelle;
		private Materielle materielle;
		
		public Ressource (Integer monIdRessource, Humain monHumain){
			this.setId(monIdRessource);
			this.humain=monHumain;
			listProjet=new ArrayList<Projet>();
		}
		
		public Ressource (Integer monIdRessource, Materielle monMaterielle){
			this.idRessource=monIdRessource;
			this.materielle=monMaterielle;
			listProjet=new ArrayList<Projet>();
		}
			
		public Ressource (Integer monIdRessource, Temporelle monTemporelle){
			this.idRessource=monIdRessource;
			this.temporelle=monTemporelle;
			listProjet=new ArrayList<Projet>();
			
		}
		
		public void allocationRessourceProjet (Projet monProjet){
			if (listProjet.contains(monProjet)==false){
				listProjet.add(monProjet);
			}
			else{
				System.out.println("La ressource a deja ete ajoutes au projet");
			}
		}
		
		public boolean ressourcePresenteProjet (Projet monProjet){
			if (listProjet.contains(monProjet)==true){
				return true;
			}else{
				return false;
			}
		}
		
		public void retirerRessourceDUnProjet (Projet monProjet){
			listProjet.remove(monProjet);
		}
		

		public void setId(Integer monIdRessource) {
			this.idRessource = monIdRessource;
		}

		public Integer getId() {
			return idRessource;
		}

		public void setHumain(Humain humain) {
			this.humain = humain;
		}

		public Humain getHumain() {
			return humain;
		}

		public void setTemporelle(Temporelle temporelle) {
			this.temporelle = temporelle;
		}

		public Temporelle getTemporelle() {
			return temporelle;
		}


		public void setMaterielle(Materielle materielle) {
			this.materielle = materielle;
		}

		public Materielle getMaterielle() {
			return materielle;
		}

		public void setListProjet(Collection<Projet> listProjet) {
			this.listProjet = listProjet;
		}

		public Collection<Projet> getListProjet() {
			return listProjet;
		}
}
